package cn.gson.crm.model.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import cn.gson.crm.model.entity.Dept;
import cn.gson.crm.model.entity.Emp;
import cn.gson.crm.model.entity.Role;
import cn.gson.crm.model.entity.User;

/**
 * 部门mapper
 * @author Lenovo
 *@param dept
 */
@Mapper
public interface DeptMapper {
	
	/**
	 * 查询部门
	 * @param dept
	 * @return
	 */
	List<Dept> list(Dept dept);
	/**
	 * 查询所有员工
	 * @param emp
	 * @return
	 */
	List<Emp> listEmp(Emp emp);
	
	/**
	 * 查询所有用户
	 * @param user
	 * @return
	 */
	List<User> listUsers(User user);
	
	/**
	 * 查询所有角色
	 * @param role
	 * @return
	 */
	List<Role> listRole(Role role);
	/**
	 * 根据角色名称查所有
	 * @param name
	 * @return
	 */
	List<Role> roleId(String name);
	/**
	 * 查询部门名称的数量
	 * @param name
	 * @return
	 */
	int countDeptName(@Param("name")String name);
	
	/**
	 * 查询角色名称的数量
	 * @param name
	 * @return
	 */
	int countRoleName(@Param("name")String name);
	
	/**
	 * 查询员工数量
	 * @param name
	 * @return
	 */
	int countEmp(@Param("name")String name);
	
	/**
	 * 查询用户名是否存在
	 * @param account
	 * @return
	 */
	int countAccount(@Param("account")String account);
	
	/**
	 * 修改密码
	 * @param id
	 */
	void updatePassword(@Param("password")String password,@Param("id")Long id);
	
}
